package main

import (
	"fmt"
	"unicode/utf8"
)

/**
  字符串学习
*/
func main() {
	strLen()
}

/**
  测试字符串不可变
*/
func test3() {
	var str = "Hello Go"
	fmt.Printf("原始值：%s \n", str)
	var str2 = []byte(str)
	str2[0] = 'A' //修改切片后的值
	fmt.Printf("切片的值：%s \n", str2)
	fmt.Printf("原字符串更新后值：%s \n", str)
}

/**
  字符串长度
*/
func strLen() {
	var chinese = "Hello  中国" //5个英文字符 2个空格 2个中文汉字，UTF编码中文占3个字符
	fmt.Println("直接使用len函数", len(chinese))
	fmt.Println("转换byte类型后长度", len([]byte(chinese)))
	fmt.Println("转换rune类型后长度", len([]rune(chinese)))
	fmt.Println("使用utf8.RuneCountInString后长度", utf8.RuneCountInString(chinese))
}
